/*
 * Copyright 1999-2004 Alibaba.com All right reserved. This software is the confidential and proprietary information of
 * Alibaba.com ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only
 * in accordance with the terms of the license agreement you entered into with Alibaba.com.
 */
package action.expr;

import action.expr.ast.Action;
import action.expr.ast.Addend;
import action.expr.ast.Assignment;
import action.expr.ast.Assignments;
import action.expr.ast.CustomOp;
import action.expr.ast.Expr;
import action.expr.ast.Factor;
import action.expr.ast.Field;

/**
 * ����ʵ��action���ʽ��visitorģʽ
 * 
 * @author pf-miles 2011-6-17 ����02:59:38
 */
public interface ActionVisitor {

    void visitAction(Action action, Object... params);

    void visitAddend(Addend addend, Object... params);

    void visitAssignment(Assignment assignment, Object... params);

    void visitCustomOp(CustomOp customOp, Object... params);

    void visitExpr(Expr expr, Object... params);

    void visitFactor(Factor factor, Object... params);

    void visitField(Field field, Object... params);

    void visitAssignments(Assignments assignments, Object... params);

}
